課程資訊
課程名稱
數學軟體
Mathematical Software 
開課學期
99-2 
授課對象
理學院  數學系  
授課教師
王偉仲 
課號
MATH1403 
課程識別碼
221 U4390 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期一7,8,9(14:20~17:20) 
上課地點
天數101 
備註
適合大一學生修習.
限學士班學生
總人數上限:52人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/992mathsw 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程採用「做中學」的方式,透過多個實例單元,簡介 「MATLAB 程式語言」與「計算科學」。每個單元學習將從問題解決與演算法思考切入,輔以程式語法介紹與上機實作,透過講課、實作、與合作學習等方式,培養計算科學基本素養,並增強利用電腦探索科學內涵的能力。

本課程每週上課將討論兩個單元,每個單元包含下列項目:
(1) 動機問題鋪陳 (Problem Statement)
(2) 演算法發展與相關 MATLAB 語法介紹 (Program Development)
(3) 程式寫作與除錯 (Coding and Debugging)
(4) 計算結果詮釋與科學意涵探究 (Insights Through Computing)
(5) 課後習題 (Homework)

預計前一小時在天數101進行 (1,2) 項,後半段在計中212進行 (3,4) 項。 

課程目標
- 能理解動機問題
- 能將問題解決方式明確化並發展演算法
- 能將演算法以 Matlab 實作
- 增進計算科學的基本素養(包含離散化、維度、趨近、資料視覺化、隨機、與複雜度)
- 透過程式與數學的交互作用,加強利用數字運算與幾何圖形進行推理的能力
- 培養溝通(寫作與口語)與合作能力 
課程要求
學生應有主動積極學習態度。本課程「不」要求學生具備程式能力,將用到部分高中數學與初等微積分。 
預期每週課後學習時數
 
Office Hours
每週一 14:00~15:00 備註: 助教 蔡松峰; 地點 天數439室 
指定閱讀
- 教科書:Insight Through Computing: A MATLAB Introduction to Computational Science and Engineering, by Charles F. Van Loan and K.-Y. Daisy Fan. SIAM 2010. ISBN: 978-0-898716-91-7
- 教科書配合網站:http://www.cs.cornell.edu/insight/

 
參考書目
[1] MATLAB Guide (2nd edition) by Desmond J. Higham and Nicholas J. Higham
[2] MATLAB 程式設計 [入門篇],張智星
[3] Experiments with MATLAB, by Cleve Moler, 2009
(http://www.mathworks.com/moler/exm/index.html) 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
期中考 
35% 
內容包含筆試與上機。考試時會將之前繳交的「各週學習歷程」發還,答題時可以參考使用。 
2. 
期末考 
35% 
內容包含筆試與上機。考試時會將之前繳交的「各週學習歷程」發還,答題時可以參考使用。 
3. 
各週學習歷程 
15% 
內容為前一週學習歷程,自第二週起繳交。過程可以自學或與人討論,但必須自己撰寫學習內容與記錄。以不超過一張 A4 紙 (兩頁) 為原則,電腦列印或手寫均可。每次1.2%,總和上限為 15%。 
4. 
上課學習單 
15% 
上課學習單記錄當日自己思考或共同討論內容。由二至三人共同書寫,需註明每個人的貢獻。當天下課時繳交。每次1.2%,總和上限為 15%。 
 
課程進度
週次
日期
單元主題
第0週
2/14  課程介紹 
第1週
2/21  - Introduction to the course<br>
<font color=orangered>- HW: MatTV No. 1, 2, 3 at http://www.cs.cornell.edu/insight/matTv.html</font><br>
<b>Chapter 1 From Formula to Program</b><br>
- 1.1 Just Plug It In! (Surface area of a sphere; MATLAB: Arithmetic expressions, assignment, input, output)<br>
<font color=orangered>- HW: M1.1.2, M1.1.3, P1.1.6; MatTV No. 4</font><br> 
第2週
2/28   <font color=green>和平紀念日 (放假)</font> 
第3週
3/07   - 1.2 Check and Evaluate (Minimum of a quadratic on an interval; MATLAB: Boolean expressions, conditionals)<br>
<font color=orangered>- HW: M1.2.4, M1.2.5, P1.2.10, P1.2.11; MatTV No. 5, 6</font><br>
<b>Chapter 2 Limits and Error</b><br>
- 2.1 Tiling a Disk (Summation; MATLAB: the for-loop)<br>
<font color=orangered>- HW: M2.1.3, P2.1.5, P2.1.9; MatTV No. 7</font> 
第4週
3/14   - 2.2 Inside/Outside Polygons (Sequences; MATLAB:the while-loop)<br>
<font color=orangered>- HW: Sec. 2.2: 1, 2, 5, 7, 8</font><br>
<b>Chapter 3 Approximation with Fractions</b><br>
- 3.1 22/7ths and Counting (Proximity to Pi; MATLAB: nested loops, benchmarking)<br>
<font color=orangered>- HW: Sec. 3.1: 4, 5, 8, 9, 10</font> 
第5週
3/21  - 3.2 Not Quite Perfect (Fibonacci Quotients and the Golden Ratio; MATLAB: more complicated while-loops)<br>
<font color=orangered>- HW: Sec. 3.2: 3, 5, 7. MatTV No. 9</font><br>
<b>Chapter 4 The Discrete versus the Continuous</b><br>
- 4.1 Connect the Dots (Plotting Continuous Functions; MATLAB: vectors, elementary graphics)<br>
<font color=orangered>- HW: Sec. 4.1: 2, 4, 7, 10, 11</font><br> 
第6週
3/28  - 4.2 From Cyan to Magenta (Color Computations; MATLAB: rgb)<br>
<font color=orangered>- HW: Sec. 4.2: 2, 3, 9, 10</font><br>
- 4.3 One Third Plus One Third Is Not Two Thirds (The Floating Point Environment; MATLAB: eps, inf, NaN)<br>
<font color=orangered>- HW: Sec. 4.3: 1, 4, 5, 6; MatTV No. 10, 11, 12, 13</font><br> 
第7週
4/04  <font color=green>溫書假</font> 
第8週
4/11   <b>Chapter 5 Abstraction</b><br>
- 5.1 Reshaping Rectangles (A Square and a Root; MATLAB: simple functions)<br>
<font color=orangered>- 5.1 HW: 3, 5, 6, 8,11; MatTV No. 14, 15, 16</font><br>
 
第9週
4/18   - 5.2 Oval Odometer (Ellipse Perimeter; MATLAB: Functions with multiple input parameters)<br>
<font color=orangered>- 5.2 HW: 1, 2, 5, 6, 7, 9</font><br>
- 5.3 The Betsy Ross Problem (Design Parameters; MATLAB: graphics functions) <br>
<font color=orangered>- 5.3 HW: 2, 5, 8, 11, 13</font><br> 
第10週
4/25   <font color=red>期中考</font> 
第11週
5/2  <b>Design of Computer Programs: Writing Your Legacy</b><br>
<font color=orangered>- HW: Challenges 4.1, 4.2, 4.3, 4.4</font> 
第12週
5/9  <b>Chapter 6 Randomness</b><br>
- 6.1 Safety in Numbers (Monte Carlo Simulations; MATLAB: More practice with boolean expressions) <br>
<font color=orangered>- 6.1 HW: 5, 8, 19, 20</font><br>
- 6.2 Dice and Compass (Random Walks; MATLAB: more practice with graphics and vectors)<br>
<font color=orangered>- 6.2 HW: 2, 3, 7, 8</font><br> 
第13週
5/16  - 6.3 Order from Chaos (Polygon Averaging; MATLAB: more practice with graphics and vectors)<br>
<font color=orangered>- 6.3 HW: 2, 3, 4, 5</font><br>
<b>Chapter 7 The Second Dimension</b><br>
- 7.1 From Here to There (Transition Matrices; MATLAB: two-dimensional arrays)<br>
<font color=orangered>- 7.1 HW: 2, 3, 7, 9</font><br> 
第14週
5/23  - 7.2 Contours and Cross Sections (Visualizing F(x,y); MATLAB: Contour plotting)<br>
<font color=orangered>- 7.2 HW: 2, 3, 5</font><br>
- 7.3 Cool It! (Simulation on a Grid; MATLAB: A(i,j) updating)<br>
<font color=orangered>- 7.3 HW: 1, 3, 4, 5, 6</font><br> 
第15週
5/30  <b>Chapter 10 Points, Polygons, and Circles</b><br>
- 10.1 How Far? (Distance Metrics; MATLAB: simple structures) <br>
<font color=orangered>- 10.1 HW: 1, 3, 6, 8, 9</font><br>
- 10.2 Fenced in Twice? (Intersection; MATLAB: more complicated structures, boolean-valued functions) <br>
<font color=orangered>- 10.2 HW: 5, 7, 9, 11, 13</font><br> 
第16週
6/06   <font color=green>端午節 (放假)</font> 
第17週
6/13  - 10.3 Not Perfect? (Nearness in Shape; MATLAB: practice with structures)<br>
<font color=orangered>- 10.3 HW: 1, 3, 4, 5</font><br>
<b>Chapter 14 Divide and Conquer</b><br>
- 14.1 Patterns within Patterns (Recursive Tiling; MATLAB: recursive functions) <br>
<font color=orangered>- 14.1 HW: 1, 7</font><br> 
第18週
6/20  <font color=red>期末考 (3:30-6:20PM,計中 212,110教室)</font>